﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;

namespace Poney_fight_club
{
    // 4. MyLittlePony : level up
    // PColor here
    public enum PColor
    {
        Yellow,
        Pink,
        Blue
    }

    class Pony
    {
        //3. Dessine moi un poney
        //Attributes here (name, pv, color, age)
        //Attributs definissant un poney
        string name;
        int pv, age;
        PColor color;
        //5. Poney et stéroïdes
        // Attribute attack_Tab here
        //Tableau unidimentionnel d'attack
        Attack[] attack_tab;
        //4. MyLittlePony : level up and 5. Poney et stéroïdes
        //Constructor here
        //Constructeur de Pony, prend en parametre l'age, les pv, le nom et la couleur du poney
        public Pony( string _name, int _age, int _pv, PColor _color, Attack[] _attack_tab)
        {
            attack_tab = _attack_tab;
            name = _name;
            pv = _pv;
            age = _age;
            color = _color;
        }

        //4. MyLittlePony : level up
        //Getters and setters for name, pv, color, age here
        //Accesseurs des attributs name, color, age et pv de la classe Pony
        public string Name
        {
            get { return name; }
            set { name = value; }
        }

        public int Pv
        {
            get { return pv; }
            set { pv = value; }
        }

        public int Age
        {
            get { return age; }
            set { age = value; }
        }

        public PColor Color
        {
            get { return color; }
            set { color = value; }
        }

        //5. Poney et stéroïdes
        // Getter and setter for attack_Tab here

        //3. Dessine moi un poney
        //Method Presentation() here
        //Methode qui renvoie un string pres qui contient les attribut name, age, pv et color du poney
        public string Presentation()
        {
            string pres = "Bonjour!Je m'appelle " + name + ". J'ai " + age + " ans et je suis de couleur "+ color + ". De plus je possede " + pv + " PV.";
            return pres;
        }
        //5. Poney et stéroïdes
        // Methods SetAttack(), GetAttack(), IsAlive() and LoosePv() here
        //Methode de pour definir une attaque
        public void SetAttack(Attack newAttack, int n)
        {
            attack_tab[n] = newAttack;
        }
        //Methode pour recuperer la n-ieme attaque du tableau attack_tab
        public Attack GetAttack(int n)
        {
            return attack_tab[n - 1];
        }
        //Methode qui renvoie true si le poney est vivant sinon false
        public bool IsAlive()
        {
            return (pv > 0);
        }
        //Methode qui deduit les PV du poney
        public void LoosePV(Attack AttaqueQuiTue)
        {
            pv -= AttaqueQuiTue.Damage();
        }
    }
}
